package com.wva.video.service;

import com.wva.common.domain.dto.PageQueryDTO;
import com.wva.common.domain.vo.PageQueryVO;
import com.wva.video.domain.dto.VideoSubmissionDTO;
import com.wva.video.domain.po.Video;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wva.video.domain.vo.VideoItemDTO;
import com.wva.video.domain.vo.VideoVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hong
 * @since 2025-02-17
 */
public interface VideoService extends IService<Video> {

    /**
     * 视频投稿
     * @param videoSubmissionDTO
     */
    void submission(VideoSubmissionDTO videoSubmissionDTO);

    /**
     * 标记视频标签更新了：为了触发自动同步到ES
     * @param videoId
     */
    void markVideoTagsUpdate(Long videoId);

    /**
     * 播放页获取视频信息
     * @param videoId
     * @return
     */
    VideoVO getPublicWorkById(Long videoId);


    /**
     * 包装videoItemVOS，为封面链接和用户昵称赋值
     * @param videoItemDTOS
     */
    void wrapVideoItemDTOList(List<VideoItemDTO> videoItemDTOS);

    PageQueryVO<VideoItemDTO> listUserPublishVideo(Long userId, PageQueryDTO pageQueryDTO);
}
